很多人做过了,这里只是重复劳动。清除旧版本大概用三种形式:
调用Creo自带的purge.exe程序;
打开模型调用Creo清除旧版本的宏命令;
比对模型的版本号,通过程序依次删除。
本文采用的是第三种方法,实现一键删除工作目录下prt、asm以及drw的旧版本文件,但是删除文件操作本例是放到回收站,稍微安全点。代码公开,需要的人可以随便根据自己的环境修改编译。删除文件到回收站代码如下,函数第二个参数为true是直接删除,false表示移动到回收站:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| void Recycle(CString pszPath, BOOL bDelete) { SHFILEOPSTRUCT shDelFile; memset(&shDelFile, 0, sizeof(SHFILEOPSTRUCT)); shDelFile.fFlags |= FOF_SILENT; shDelFile.fFlags |= FOF_NOERRORUI; shDelFile.fFlags |= FOF_NOCONFIRMATION;ail. TCHAR buf[_MAX_PATH + 1]; strcpy_s(buf, pszPath); buf[_tcslen(buf) + 1] = 0; shDelFile.wFunc = FO_DELETE; shDelFile.pFrom = buf; shDelFile.pTo = NULL; if (bDelete) { shDelFile.fFlags &= ~FOF_ALLOWUNDO; } else { shDelFile.fFlags |= FOF_ALLOWUNDO; } SHFileOperation(&shDelFile); }
|
完整代码可在Github.com下载。代码在VS2010,Creo 2.0 M060 X64下编译通过。